class Store {
  /**
   * 设置值
   * @param {string} key 存储的key值
   * @param {any} value 任意类型，除null和undefined
   */
  set(key, value) {
    if (typeof value === 'object') {
      value = JSON.stringify(value)
    }
    localStorage.setItem(key, value)
  }

  get(key, defaultValue = '') {
    // 数据它是存在的
    let value = localStorage.getItem(key)
    if (value) {
      // 它是否为对象字符串
      if (/^[\{\[]/.test(value)) {
        return JSON.parse(value)
      }
      return value
    }
    return defaultValue
  }

  remove(key) {
    localStorage.removeItem(key)
  }
}

export default new Store()
